//
//  CTTableViewController.swift
//  Swift-Tools
//
//  Created by gree on 2020/10/22.
//

import UIKit
import Foundation
import DZNEmptyDataSet

class CTTableViewController: CTBaseViewController {

    lazy var tableView: CTBaseTableView = {
        
        let tb = CTBaseTableView(frame: self.view.bounds, style: .plain)
        
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.1, execute: {
            tb.emptyDataSetSource = self
            tb.emptyDataSetDelegate = self
            tb.reloadEmptyDataSet()
        })
        return tb
    }()
    
    override func viewDidLoad() {
        
        view.addSubview(tableView)
    }
}

extension CTTableViewController: DZNEmptyDataSetSource {

    func verticalOffset(forEmptyDataSet scrollView: UIScrollView!) -> CGFloat {
        let inset = tableView.contentInset
        return inset.top == 0 ? -64:0
    }

//    func title(forEmptyDataSet scrollView: UIScrollView!) -> NSAttributedString! {
//        return NSAttributedString(string: emptyDataSetTitle)
//    }
//
//    func description(forEmptyDataSet scrollView: UIScrollView!) -> NSAttributedString! {
//        return NSAttributedString(string: emptyDataSetDescription.value)
//    }
//
//    func image(forEmptyDataSet scrollView: UIScrollView!) -> UIImage! {
//        return emptyDataSetImage
//    }
//
//    func imageTintColor(forEmptyDataSet scrollView: UIScrollView!) -> UIColor! {
//        return emptyDataSetImageTintColor.value
//    }

    func backgroundColor(forEmptyDataSet scrollView: UIScrollView!) -> UIColor! {
        return .clear
    }

}

extension CTTableViewController: DZNEmptyDataSetDelegate {

    func emptyDataSetShouldDisplay(_ scrollView: UIScrollView!) -> Bool {
//        return !isLoading.value
        return true
    }

    func emptyDataSetShouldAllowScroll(_ scrollView: UIScrollView!) -> Bool {
        return true
    }

    func emptyDataSet(_ scrollView: UIScrollView!, didTap button: UIButton!) {
//        emptyDataSetButtonTap.onNext(())
    }

    func buttonTitle(forEmptyDataSet scrollView: UIScrollView!, for state: UIControl.State) -> NSAttributedString! {
//        let title = emptyDataButonHidden.value == true ? "":emptyDataSetButtonTitle
//        return NSAttributedString(string: title,
//                                  attributes: [NSAttributedString.Key.foregroundColor: UIColor.master])
        return NSAttributedString(string: "")
    }


}
